import request from '@/utils/request'
import {encrypt} from '@/utils/AES'
import config from '@/config'
import { getSSOToken} from '../utils/auth'

// 登录方法
export function login(username, password, code, uuid) {
  const data = {
    name:encrypt(username),
    pwd:encrypt(password),
    code,
    uuid
  }
  return request({
    'url': '/login',
    headers: {
      isToken: false
    },
    'method': 'post',
    'data': data
  })
}

// 注册方法
export function register(data) {
  return request({
    url: '/register',
    headers: {
      isToken: false
    },
    method: 'post',
    data: data
  })
}

// 获取用户详细信息
export function getInfo() {
  return request({
    'url': '/getInfo',
    'method': 'get'
  })
}

// 退出方法
export function logout() {
  return request({
    'url': '/logout',
    'method': 'post'
  })
}

// 获取验证码
export function getCodeImg() {
  return request({
    'url': '/captchaImage',
    headers: {
      isToken: false
    },
    method: 'get',
    timeout: 20000
  })
}


// sso-登录
export function ssoLogin(username, password, code, uuid) {
  const data = {
    name:encrypt(username),
    pwd:encrypt(password),
    code,
    uuid
  }
  return request({
    headers: {
      isToken: false
    },
    'method': 'post',
    'data': data,
	baseUrl:config.ssoUrl+'/login'
  })
}

// sso-登录城管应用
export function codeLogin(code) {
  return request({
    headers: {
      isToken: false
    },
    'url': '/sso/codeLogin?code='+code,
    'method': 'get',
  })
}

// sso-应用临时授权码
export function authCode(id) {
  return request({
    'method': 'get',
	baseUrl:config.ssoUrl+'/system/apps/'+id+'/authCode',
	header:{
		"Authorization": "Bearer " + getSSOToken()
	},
	headers:{
		isToken:false,
	}
  })
}

// sso-获取用户详细信息
export function getSSOInfo() {
  let ssotoken = getSSOToken();
  return request({
    'method': 'get',
  	baseUrl:config.ssoUrl+'/getInfo',
  	header:{
  		"Authorization": "Bearer " + ssotoken
  	},
  	headers:{
  		isToken:false,
  	}
  })
}

// sso-获取验证码
export function getSSOCodeImg() {
  return request({
	baseUrl:config.ssoUrl+'/captchaImage',
    headers: {
      isToken: false
    },
    method: 'get',
    timeout: 20000,
	params: {
			  t: 'Y'
			}
  })
}

// sso-扫码登录
export function qrcodeLogin(url) {
	let ssotoken = getSSOToken();
  return request({
    'method': 'get',
	baseUrl:config.ssoUrl+url,
	header:{
		"Authorization": "Bearer " + ssotoken
	},
	headers:{
		isToken:false,
	}
  })
}
export function getRoutersApp(){
	return request({
		url:'/getRoutersApp',
		method:'get'
	})
}